1. Field of the Invention
Generally speaking, the present invention is directed to a system, method, and computer program product of linking notes to data objects. In a preferred embodiment, the present invention is directed to a system, method, and computer program product of linking notes to Web pages.
2. Related Art
The importance to the modern economy of rapid information and data exchange cannot be understated. This explains the exponentially increasing popularity of the Internet. The Internet is a world-wide set of interconnected computer networks that can be used to access a growing amount and variety of information electronically.
One method of accessing information on the Internet is known as the World Wide Web (www, or the “Web”). The Web is a distributed, hypermedia system, and functions as a client-server based information presentation system Information that is intended to be accessible over the Web is stored in the form of “pages” on general-purpose computers known as “servers.” Computer users can access a Web page using general-purpose computers, referred to as “clients,” by specifying the uniform resource locator (URL) of the page.
Hyperlinks are a common function of the Internet. A hyperlink is an element in an electronic document that links to another place in the same document or to an entirely different document. Typically, you click on the hyperlink to follow the link. Hyperlinks are one of the most essential ingredients of all hypertext systems, including the Web. As a publishing tool, hyperlinks enable the publisher to define the direction, location, flow and content of the user's path over the Internet. These single direction hyperlinks are part of published content that the user cannot change or comment on. In the Web environment, HyperText Markup Language (HTML) is the authoring language used to create documents or pages accessible on the Web.
In today's Computer Age, there exists a vast amount of information accessible over the Internet that can be processed by computers. Such information is generally referred to herein as data objects, and more specifically referred to herein as HTML documents or Web pages.
It is often desirable to organize information such that data objects that somehow relate to a particular topic are associated with other data objects that are related to the same topic. Hyperlinks represent a conventional mechanism for associating data objects with other data objects. FIG. 1 illustrates a scenario involving Documents A, B, C, D, and E. Document A is linked to Document B via Hyperlink B. In a similar manner, Document B is linked to Documents C and D, and Document D is linked to Document E. A user follows Hyperlinks B, C, D, and E to traverse through Documents A, B, C, D, and E using a conventional “point-and-click” methodology.
As apparent from FIG. 1, Hyperlinks B, C, D, and E form a trail through Documents A, B, C, D, and E. This trail represents the organization of Documents A, B, C, D, and E. However, Hyperlinks B, C, D, and E do not document or explain this trail. Accordingly, it can be said that Hyperlinks B, C, D, and E form an undocumented trail through Documents A, B, C, D, and E.
Consider, for example, Hyperlink B. Hyperlink B merely serves to link Document A to Document B. Hyperlink B does not describe why Document A is linked to Document B. Instead, the explanation or rationale for the linkage of Document A with Document B must be inferred by the user from the contents of Documents A and B.
However, it is often difficult to discern the rationale for the linkage between data objects. This is especially true for data objects which are not directly linked (Documents A and B represent two data objects that are directly linked), but which are indirectly linked (Documents A and E represent two data objects that are indirectly linked). For example, it may be very difficult for a user to determine the rationale for the indirect linkage of Document E to Document A. To discern the rationale for this linkage, it may be necessary for the user to review the contents of Documents A, B. D, and E. This could be a difficult and time-consuming task. Even then, the user may not be able to determine the rationale for the linkage. The user is unable to discern this rationale by reference to Hyperlinks B, D, and/or E since, as discussed above, these hyperlinks do not convey any information to the user.
In addition, a user will not know of the existence of Document E when following traditional links from Document A until he/she gets to Document E. This link (from Document A to Document E) may be the only link of interest to the user. The traditional linking mechanism is wasteful, as it requires the user to traverse through Documents B and D in order to arrive at Document E. Also, the user may end the search at Document B or Document D, thereby never getting to Document E. Further, traditional linking mechanisms do not provide a means by which to create links, with contextual information within and between different data objects. This type of linkage would provide the user with critical information as to how and why data objects are internally and externally related. Also, traditional links fail to provide the user with the ability to link the same portion of a data object with multiple links and notes to other data objects as well as to other portions of the same data object with varying contextual information on the rational for the links and user ideas or comments on the portion of the linked data object. Accordingly, there is a need for a mechanism that not only organizes, associates, and links data objects internally and externally, but also conveys contextual information explaining the rationale for such organization, association, and linkage, as well as the users' thoughts regarding the data objects.
Adding Notes to Data Objects
It is often desirable to add notes to data objects. Such notes may include a description of the contents of the data objects, instructions or comments to people working with the data objects, project notes, etc.
Some computer applications allow users to attach notes to data objects. For example, some word processors (such as MICROSOFT WORD and WORD PERFECT) allow users to attach notes to their documents. Typically, the user positions the cursor at the point in the document where he wishes to insert the note. The user then keys in the text for the note. The note is linked to the point in the document where the cursor was positioned.
Some spreadsheet applications (such as MICROSOFT EXCEL) allow users to attach notes to their spreadsheets. FIG. 2 illustrates an example spreadsheet window 204. The user has attached a note 212 to cell 206 of the spreadsheet 204 via a link 210. A small icon 208 located in cell 206 indicates that a note (in this case, note 212) is linked to cell 206. The user accesses the note 212 from the spreadsheet 204 by clicking on the icon 208.
The note functionality of conventional computer applications (including those described above) is limited in many respects. First, these applications restrict the manner in which users are allowed to associate notes with data objects. For example, these applications permit a note to be associated with only a single element in a data object. See FIG. 2, where note 212 is associated with only cell 206. It is not possible to associate note 212 with multiple cells or to establish intra or inter data object links. Also, notes cannot be associated with partial overlapping portions of data objects. For example, the spreadsheet 204 in FIG. 2 does not allow a first note to be associated with cells 206 and 214, and a second note to be associated with cells 214 and 216.
Second, these applications do not allow users to group related notes together. Accordingly, these applications do not permit users to organize their notes.
Third, these applications do not provide a mechanism for documenting the rationale for linking notes to data objects. For example, in FIG. 2, the link 210 conveys no information that explains the rationale for linking note 212 with cell 206. Instead, the user must attempt to discern this rationale from the contents of note 212 and cell 206.
Fourth, these applications do not provide a mechanism for establishing intra or inter data object linking, such as between different spreadsheets in EXCEL or linking with a word processor data object or another computer application data object.
The restrictions described above severely diminish the usefulness of notes. Notes are intended to convey information. The ability of notes to convey information is diminished if notes cannot be associated with any portions of data objects, and if notes cannot be organized and structured, and if the rationale for linking notes to data objects is not explicitly conveyed to users.
Accordingly, there is a need for a more flexible and intelligent mechanism for attaching notes to data objects.
Potential Loss of Information
Given these limitations of conventional data organization and note tools, users are not motivated or encouraged to utilize computer related tools to organize work product and data objects that are collected and generated during the performance of a task or project. Instead, such work product and data objects are often maintained in an unorganized state, often scattered about a person's office or haphazardly stored in a makeshift filing system. Also, a person's thinking is not typically documented or recorded. Instead, such thinking remains in the person's head.
Thus, a person's thinking, work product, and data objects that are collected and generated during the performance of a task or project are easily lost (either temporarily or permanently) if the person becomes unavailable, is unable to completely remember his thinking, or loses his work product. The person and the person's employer then suffer from this loss of information.
Accordingly, what is required is a system and method for enabling the organization and recordation of a person or group's thinking, work product, and data objects collected or generated during a project or task. Such organization and recordation serves to institutionalize the person or group's thinking, work product, and data objects, thereby protecting against the unavailability of persons, memory loss, or loss of work product.